Dev_Tasks
Use Communications Requests to exchange information with a Series 90-30 DeviceNet Master Module or Series 90-30 DeviceNet Slave Module. COMMREQs are used for reading information from the DeviceNet module itself and for sending or replying to DeviceNet explicit messages over the network.
Reference: Series 90-30 Programmable Controller DeviceNet Modules GFK-2196
#END#

Wait_Flag	
DEVICENET COMMREQs ARE ALWAYS NO WAIT MODE.
#END#

Idle_Tmout	
The idle timeout value is the maximum time the PLC waits for the device to acknowledge receipt of the request. For NOWAIT, this value is not used. (Any timeout value is ignored; it can be zero.) If WAIT is selected, this word specifies the idle timeout period, in 100-microsecond increments.
#END# 

Max_Comm_Tm	
This word contains the maximum amount of time the program should hold the window open when the device is busy. For NOWAIT, this value is not used. (Any timeout value is ignored; it can be zero.) If WAIT is selected, this word specifies the maximum time in 100 microsecond increments.
#END#

DeviceNet_Task_Id
Always 1
#END#

Send Device Explicit
To send a DeviceNet explicit message up to 238 bytes long to a specified device on the network, use COMMREQ #1, Send Device Explicit. The reply data is limited to 2048 bytes maximum.
This COMMREQs command the DeviceNet Master Module to send a DeviceNet explicit message on the network. The addressed device must be configured for an explicit message connection in the Series 90-30 configuration of the DeviceNet Master Module and sufficient buffer memory must be configured to contain the largest message produced by the COMMREQ or the largest reply produced by the device.
#END#

Receive Server Explicit
The Receive Server Explicit COMMREQ commands a DeviceNet Slave Module or a DeviceNet Master Module in slave mode to return a DeviceNet the most recent explicit client message it has received from the network. A Series 90-30 DeviceNet module can receive multiple explicit request messages from a network master before the first response message is generated. Test the SERA bit to initiate this command.
#END#

Send Server Explicit
After retrieving a DeviceNet explicit message from a Series 90-30 DeviceNet Slave Module or Series 90-30 Master Module in slave mode, the application program can respond to the network master using COMMREQ #3, Send Server Explicit. For Send Server Explicit, the data to be sent is located in the same memory area as the COMMREQ command block.
#END#

Get Detailed Device Status
This command obtains the following information for the specified node: 
1. Whether it is included in the master's list of configured devices 
2. Whether it is being scanned 
3. Configuration error status (invalid vendor id, device type, product code, I/O connections, etc) 
4. Its connection 1 and connection 2 input states 
This function is internal to the Series 90-30 PLC; it does not generate a DeviceNet network message.
#END#

Get Detailed Server Status
To retrieve status information about a Series 90-30 DeviceNet Slave Module, or a DeviceNet Master module operating in server mode, use COMMREQ #5, Get Detailed Server Status. This command supplies the following information about the module: 
1. Whether the module is set up for slave operation (its network settings are configured)
2. The module's output connection states
3. Whether the module has sent a DeviceNet explicit message (previously commanded by a Send Server Response COMMREQ).
4. How the module's I/O messaging settings are configured.
#END#

Get Status Info 
To read the information normally mapped to a Series 90-30 DeviceNet Module's 3 status words, plus all the information normally mapped to the DeviceNet Master Module's 64 device status bits, use COMMREQ #6, Get Status Information. COMMREQ #6 is alternate way to access this information.
The module responds to the command with the following information:
1. The network activity status of each MAC ID on the network
2. The module's own configured Network Settings.
3. The module's current network status.
4. The module's firmware ID.
The information read by this command comes directly from the module; this command does not generate a DeviceNet message.
#END#

Send Device Explicit Extended
To send more than 238 bytes of data or to use a separate data memory area in the PLC, use COMMREQ #7, Send Device Explicit Extended. The reply is limited to 2048 bytes maximum. The Send Device Explicit Extended COMMREQ command block contains a pointer to the data to be sent in the explicit message. The programmer can use this functionality to point to different stored messages without recalculating command length each time. This command is only valid to a Master Module.
#END#

Send Server Explicit Extended
After retrieving a DeviceNet explicit message from a Series 90-30 DeviceNet Slave Module or Series 90-30 Master Module in slave mode, the application program can respond to the network master using COMMREQ #8, Send Server Explicit Extended. Use this COMMREQ only if the content of the response is more than 238 explicit data bytes. For Send Server Explicit Extended, the data to be sent is located in a separate memory area, specified by a pointer in the COMMREQ command block. This makes it possible to store and send more data.
#END#

Read Module Header
Read Module Header is used to read:
1.Module Type, Module ID, Module revision.
2.CAN Kernel identification and revision.
3.DeviceNet serial number.
4.Error codes for any existing faults.
5.CAN Network status.
This command reads data from the module internal memory; no DeviceNet message is sent on the network. Upon detecting an error, the PLC application program can send a ReadModuleHeader COMMREQ to the module. Unless the error prevents normal backplane operation, the module returns information about the fault in the reply data.
#END#

Reply_Memory_Type_RMH
Memory type for the reply data.
Read Module Header, Reply Data Format
Word 	Description
1 	Command Code. Echo of Command Code that this data block is replying to (0x0009)
2 	Module Type. Contains "DN" (0x444E) or "ER" (0x4552) if a fatal error is detected
3 	Window size: Indicates host interface window size. 0 = 16K, 1 = 32K, 2 = 64K, 3=128K
4 	Reserved
5 	Kernel identification. 0x0001 = CAN 2.0A kernel
6 	Kernel revision
7 	Module ID, 0x0017 (Series 90-30 DeviceNet module)
8 	Module revision in binary coded decimal (BCD), 4 hex digits XX.XX (i.e. rev 1.0 = 0x0100, rev 1.10 = 0x0110)
9,10 	DeviceNet serial number
11 - 18 	Card type, IC693DNM200 or IC693DNS201
19 - 22 	Module serial number (i.e. "9409001")
23, 24 	Reserved
25 	Main Application Error Code. 
26	CAN Network Status word.
		bit 7 	bit 6 	bit 5 	bit 4 	bit 3 	bit 2 	bit 1 	bit 0
	byte 0 	ML 	RO 	TO 	TA 	A 	BO 	BW 	OL
	byte 1 	SA 	O5 	O2 	O1 	RE 		BP 	ER
	Application -Specific Flags
	SA Scanner Active (at least one connection established)
	O5 Online at 500 Kbaud
	O2 Online at 250 Kbaud
	O1 Online at 125 Kbaud
	RE Firmware is performing DeviceNet reset, I/O data is not valid 	Common Flags
	BP Bus power present (zero if power sense not supported)
	ER CAN communication error
	ML Message lost (CAN controller / receive ISR)
	RO Receive buffer overrun (host app. too slow emptying receive queue)
	TO Transmit failed due to timeout (flooded network)
	TA Transmit failed due to ack error (no other nodes connected)
	A Network activity detected (messages received or transmitted)
	BO Bus off (this node has been disconnected due to excessive errors)
	BW Bus warning (this node is experiencing a large number of errors)
	OL Online, CAN interface has been initialized
27 	CAN transmit counter. Incremented when messages are submitted to the CAN controller.
28 	CAN acknowledgment error counter. Increments if a transmit message is terminated due to lack of acknowledgment from other stations. When this counter is 		incremented, the CAN transmit counter (word 27) is decremented to compensate for a message not actually transmitted.
29 	CAN receive counter. Increments when messages are received. Messages that fail the receive filter still increment this counter.
30 	CAN communication error counter. Increments if a CAN frame error is detected.
31 	CAN lost messages counter. Increments if a CAN message is received before the previous message is placed into the receive queue.
32 	CAN receive queue overrun counter. Increments if a CAN message is lost due to a full receive queue.
33 	Additional Application Error Code. See the error code listings on the following pages.
34 - 63 	When Module Type in word 2 is "DN", contains the module identification string. For example: DeviceNet Module 1.00.00\n(C) 2002 GE Fanuc Automation.
	The format is: major rev.minor rev.build When Module Type is "ER, contains the kernel error string. 
64 	Major Tick Interval (equivalent of system time base)
65 	Number of minor ticks per major tick interval
#END#

Reply_Memory_Address
Zero based offset within the memory type for the response.
#END#

Reply_Memory_Size_RMH
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Maximum 2048 bytes.
Note: For Read_Module_Header command must be 130 bytes (65 words) or more, or an error will be returned in the COMMREQ status and the command will be ignored.
#END#
Reply_Memory_Type_GDDS	
Memory type for the reply data.
Upon receiving Get_Detailed_Device_Status COMMREQ from the PLC CPU, the Series 90-30 DeviceNet Master Module generates a reply containing the status data it currently has stored for the specified MAC ID.
Word # 	Description
1 		Command number that this data block is replying to. (4)
2 low byte	Status Code: Number indicating the status of the client connection to the device.
		Status 	Meaning 					Status 	Meaning
		0x 00 	Device not in device list 			0x 0D 	Invalid I/O connection 1 input size
		0x 01 	Device idle (not being scanned) 		0x 0E 	Error reading I/O connection 1 input size
		0x 02 	Device being scanned 			0x 0F 	Invalid I/O connection 1 output size
		0x 03 	Device timed-out 				0x 10 	Error reading I/O connection 1 output size
		0x 04 	UCMM connection error 			0x 11 	Invalid I/O connection 2 input size
		0x 05 	Master/Slave connection set is busy 		0x 12 	Error reading I/O connection 2 input size
		0x 06 	Error allocating Master/Slave connection set 	0x 13 	Invalid I/O connection 2 output size
		0x 07 	Invalid vendor id 				0x 14 	Error reading I/O connection 2 output size
		0x 08 	Error reading vendor id 			0x 15 	Error setting I/O connection 1 packet rate
		0x 09 	Invalid device type 				0x 16 	Error setting I/O connection 2 packet rate
		0x 0A 	Error reading device type 			0x 17 	M/S connection set sync fault
		0x 0B 	Invalid product code 			0x 18 	Error setting Production Inhibit Time
		0x 0C 	Error reading product code 			0x 19 - FF Reserved
2 high byte	Status flags: Bits indicating the connection states of the slave's connection 1 and connection 2 inputs. 
		bits 0-4 	Reserved, should be ignored
		bit 5 	1 = Input area 1 receive idle condition
		bit 6 	1 = Input area 2 receive idle condition
		bit 7 	Reserved, should be ignored
3 to 9		Reserved, should be ignored
#END#

Reply_Memory_Size_GDDS
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Maximum 2048 bytes. Note: For command Get_Detailed_Device_Status must be 18 bytes (9 words) or more, or an error will be returned in the COMMREQ status and the command will be ignored.
#END#

MAC_ID
The Mac ID (medium access control identification) of the master on the DeviceNet network. Valid range: 0 - 63. Default: 0.
#END#

Reply_Memory_Type_GDSS	
Memory type for the reply data.
The response to a Get Detailed Server Status COMMREQ supplies details of the module's configured Network Settings. It also shows whether the module has sent (on the DeviceNet network) a previously-commanded Send Server Explicit message.
Get Detailed Server Status, Reply Data Format:
Word # 		Dec/Bin 		Hex 	Description
1 		00005 		(0005) 	Command number that this data block is replying to. (5)
2 low byte 	00000001 	(01)	Indicates whether the module is set up for slave operation (Network Settings configured). For this example, the module is 					being scanned.
					0x00 	Idle (Group 2 master/slave connection is not allocated, the slave server is not active, no master is scanning).
					0x01 	Active (Group 2 master/slave connection allocated, the slave server is active and is being scanned by a master
						device).
					0x02- 0xFF Reserved, these bits should be ignored.
2 high byte 	11100000 	(E0)	Bits indicating the various connection states. In this example, the module's output 1 and 2 connections are both configured 					for receive idle, and it has an UCMM connection.
					bits 0 - 4 		Reserved, these bits should be ignored.
					bit 5 		1 = Output connection 1 receive idle condition
					bit 6 		1 = Output connection 2 receive idle condition
					bit 7 		1 = Group 3 UCMM connection(s) allocated.
3 		00000 		(0000) 	Reserved, these bits should be ignored.
4 low byte	00001 		(0001)	Bits indicating explicit message status since the last Get Detailed Server Status. These bits are automatically cleared by 						this COMMREQ in preparation for the next call. For this example, the module has sent the explicit message response on 						the network.
				bit 0 	1 = Explicit response sent. Set when the scanner has submitted the explicit response from a Send Server Explicit 							message, for transmission on the network.
				bits 1 - 7	Reserved
4 high byte 	00000011 	(03)	Bits showing the configured features of the module. For this example, the Series 90-30 DeviceNet module slave server is set 					up for explicit messaging and polled I/O operation.
				bit 0 	1 = Explicit connection allocated
				bit 1 	1 = Polled I/O connection allocated
				bit 2 	1 = Bit-strobed I/O connection allocated
				bit 3 	Not used
				bit 4 	1 = Change of State I/O connection allocated
				bit 5 	1 = Cyclic I/O connection allocated
				bit 6 	1 = Acknowledge Suppress Enabled
				bit 7 	Not used
5 to 9 Reserved, these bits should be ignored.
#END#

Reply_Memory_Size_GDSS
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Maximum 2048 bytes. Note: For command 5 must be 18 bytes (9 words) or more, or error is returned in the COMMREQ status and the command is ignored.
#END#

Reply_Memory_Type_GSI
Memory type for the reply data.
Get Status Information, Reply Data Format:
Word # 	Description
1 	Command code that this data block is replying to. (6)
2 - 5	Device Status. Each bit corresponds to an individual device MAC ID. The state of that bit indicates the device's status:
	0 = Device is not active (not configured, faulted, etc)
	1 = Device is active, being scanned
	For the master's own MAC ID, the status bit is always 0. 
		bit 7 	bit 6 	bit 5 	bit 4 	bit 3 	bit 2 	bit 1 	bit 0
	byte 0 	7 	6 	5 	4 	3 	2 	1 	0
	byte 1 	15 	14 	13 	12 	11 	10 	9 	8
	byte 2 	23 	22 	21 	20 	19 	18 	17 	16
	byte 3 	31 	30	29 	28 	27 	26 	25 	24
	byte 4 	39 	38 	37 	36 	35 	34 	33 	32
	byte 5 	47 	46 	45 	44 	43 	42 	41 	40
	byte 6 	55 	54 	53 	52 	51 	50 	49 	48
	byte 7 	63 	62 	61 	60 	59 	58 	57 	56
6 	Server Status
		bit 7 	bit 6	bit 5 	bit 4	bit 3 	bit 2 	bit 1 	bit 0
	byte 0 	res. 	AKS 	CYC 	COS 	res. 	ST 	P 	EX
	byte 1	reserved 	reserved 	reserved 	reserved 	SERA 	IDLE2 	IDLE1 	G3
	Group 2 only I/O connections 	AKS 	Acknowledge suppress enabled
					CYC 	Cyclic I/O connection allocated
					COS 	Change-of-state I/O connection allocated
					ST 	Bit Strobed I/O connection allocated
					P 	Polled I/O connection allocated
	Group 2 Explicit Connections 	EX 	Explicit connection allocated
	Group 3 Connection 		G3 	At least one Group 3 (UCMM) connection allocated
	Status Bits 			IDLE1 	Output area 1 receive idle status bit.
					IDLE2 	Output area 2 receive idle status bit
					SERA 	Server Explicit Request Available. Use Receive server explicit command to retrieve the request
7.	CAN Network Status.
		bit 7 	bit 6 	bit 5 	bit 4 	bit 3 	bit 2 	bit 1 	bit 0
	byte 0 	ML 	RO 	TO 	TA 	A 	BO 	BW 	OL
	byte 1 	SA 	O5 	O2 	O1 	RE 	reserved 	BP 	ER
	Application Specific Flags
		SA 	Scanner Active (at least one connection established)
		O5 	Online at 500 Kbaud
		O2 	Online at 250 Kbaud
		O1 	Online at 125 Kbaud
		RE 	Firmware is resetting so DeviceNet I/O data is not valid
	Common Flags
		BP 	Bus power present (zero if power sense not supported)
		ER 	CAN communication error
		ML 	Message lost (CAN controller / receive ISR)
		RO 	Receive buffer overrun (host app. too slow emptying receive queue)
		TO 	Transmit failed due to timeout (flooded network)
		TA 	Transmit failed due to ack error (no other nodes connected)
		A 	Network activity detected (messages received or transmitted)
		BO 	Bus off (this node has been disconnected due to excessive errors)
		BW 	Bus warning (this node is experiencing a large number of errors)
		OL 	Online, CAN interface has been initialized
8.	Firmware ID, Minor revision: 	In BCD four hex digits. For example, revision 1.10 = 01 10 hex.
	Firmware ID, Major revision: 	See above.
#END#

Reply_Memory_Size_GSI
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Maximum 2048 bytes. Note: For Get_Status_Info
command must be 16 bytes (8 words) or more, or an error will be returned in the COMMREQ status and the command will be ignored.
#END#

Reply_Memory_Type_SDE
Memory type for the reply data.
Send Device Explicit (& Extended), Reply Data Format:
Word # 	Description
1 	Command code that this data block is replying to. (1 for Send Device Explicit, or 7 for Send Device Explicit Extended)
2	Status of the explicit message. Bits 0 and 1 should both be 0.
	bit 0 		1 = Explicit message response truncated to fit in shared memory buffer. The configured size of the explicit buffer of the device is too small.
	bit 1 		1 = Explicit message response truncated to fit in Reply Memory. The reply buffer allocated by the COMMREQ is too small.
	bits 2 - 15 	Reserved, should be ignored.
3 	MAC ID of the device producing this reply.
4 	Number of reply data bytes consumed. Note: if allocated buffers are not large enough this value should indicate the actual size of the reply data. Allocate reply size 	at least 10 bytes (for reply words 1-5) larger than the service data. 
5	DeviceNet service code / internal result code. Values less than 0xFF: The service code low byte, in explicit message replies contains the same service that is 		returned on the DeviceNet network. Since the message is in reply to the explicit service issued by the COMMREQ, the high bit of the low byte is set to a 1. For 		example:
		GET_ATTRIBUTE_SINGLE is service code 		0x0E
		The DeviceNet response will have the high bit set: 	0x8E
		SET_ATTRIBUTE_SINGLE is service code 		0x10
		With the high bit set on response: 			0x90
	DeviceNet errors use service code 0x14, and since errors are responses, the high bit will be set: 0x94. For example:
		GET_ATTRIBUTE_SINGLE: 0x0E
		DeviceNet error response: 0x94
		(With following bytes of main code and additional code)
	Value 	Error 							Value 	Error
	0x00 - 01 Reserved 						0x12 	Reserved
	0x02 	Resource needed for the object to perform the requested service 	0x13 	The service did not supply enough data to perform the requested service
		not available.
	0x03 - 07 Reserved 						0x14 	Attribute specified in the request is not supported
	0x08 	Requested service not implemented ot not			0x15 	The service supplied more data than was expected
		defined for the object class/instance
	0x09 	invalid attribute data detected 				0x16 	The specified object does not exist in the device
	0x0A 	Reserved 						0x17 	Reserved
	0x0B 	Object is already in requested mode or state requested 		0x18 	Attribute data of the object was not stored prior to the requested service
		by the service
	0x0C 	Object cannot perform requested service in its current mode/state	0x19 	Attribute data of this object not saved by the object
	0x0D 	Reserved 						0x1A-1E 	Reserved by DeviceNet
	0x0E 	Request to modify a non-modifiable attribute was received		0x1F 	Vendor specific error
	0x0F 	Permission/privilege check failed 				0x20 	Invalid parameter
	0x10 	Device's current mode or state prohibits the requested service	0x21-CF 	Reserved
	0x11 	Data to be transmitted is larger than the allocated response buffer 	0xD0-FF Vendor specific object and class errors
	Values above 0xFF are internal Series 90-30 DeviceNet Master Module codes (see below).
	0x0100 Explicit connection is not established
	0x0101 Explicit body format cannot represent requested class. (i.e. class > 255 and connection body format is 8/8 or 8/16)
	0x0102 Explicit body format cannot represent requested instance. (i.e. instance > 255 and connection body format is 8/8 or 8/16)
	0x0103 Resources not available to send explicit message
	0x0104 - FFFF Reserved
6 - end 	Optional data as required by the service. The size of this data is indicated by word 4
#END#

Reply_Memory_Size_SDE
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). For Send_Device_Explicit command the size must be 10 bytes (5 words) or more, or an error will be reported in the COMMREQ status word and the request will be ignored. Note: The size needed for the reply depends on the service used and the instance accessed. Consult the server device documentation. Add 10 bytes (5 words) to the server reply data for the reply header. The reply memory size can be larger than the reply data of a particular message it must not be smaller.
#END#

Service_Data_Size
Number of Service Data bytes being sent. This needs to be determined from the documentation of the DeviceNet server to which the message is being sent. For example, 2 bytes attribute byte + 1 bytes data. Note: For service codes 0x10 or 0x0E the attribute byte is contained in the service data at byte zero.
#END#

DeviceNet_Service_code
See the vendor documentation for the server device. For example, the Service Code for the VersaPoint DeviceNet NIU is 0x10 (Set Attribute Single Service) to write data. Another service code often used is 0x0E (Get Attribute Single Service) to read data.
#END#

Class_OR_Object
The object class to which this is requested. See the vendor documentation for the server device. For example, the object class is 0x0A (Analog Input Point Object).
#END#

Instance
The specific instance of the object class to which this request is directed. See vendor documentation for the server device. For example the instance represents which VersaPoint analog channel to set.
#END#

Service_Data_Byte_Offset
If the offset is 0, then the service data is located immediately after this data word in memory (at word 17, see below). The value entered here is the number of bytes between this word and the beginning of the service data. For example, if the offset were 2, then two bytes would be "skipped" and the service data would begin at word 18. THIS TOOL ASSUMES THIS OFFSET TO BE ZERO. IF USER WANTS TO HAVE AN OFFSET THEN IN THE OUTPUT OF THE TOOL THE SERVICE DATA MEMORY ADDRESSES HAS TO BE CORRECTED (SHIFTED) FOR THE OFFSET VALUE. (MEMORY SHIFT = Service_Data_Byte_Offset / 2)
#END#

Service_Data
ENTER THE FIRST DATA AND CLICK ON "NEXT" FOR ENTERING MORE DATA
Service Data For example: 
Byte 0, Attribute: Attribute is used in service code 0x10 and 0x0E messages. The attribute is one-byte field always at byte zero of the service data when used. The Attribute field is not used by other message services. This byte is the actual beginning of the service data. For example attribute 7 is the VersaPoint, Analog Input Point Object, Range setting.
Byte 1, Offset of the start of this data depends on entry for Service Data Byte Offset. Service data to is limited to 238 bytes maximum for command. For example Range 3 is the vendor code for the VersaPoint Analog Input 4-20ma setting and the data type is USINT (2 bytes).
Byte 2 to end: Service Data: Additional service data as required by the message. It can be unused space.
#END#

Reply_Memory_Size_SDEE
Maximum size for the reply (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Note: must be 10 bytes (5 words) or more, or an error will be reported in the COMMREQ status word and the request will be ignored. Actual length needed will vary depending on which message is sent; consult vendor information for the target device. Maximum 2048 bytes.
#END#

Data_Memory_Type_SDEE
Memory type for the stored data.
Send Device Explicit Extended, Data Block Format
The following data must be placed in the PLC memory location specifed in the command by the data memory offset. One use of the data byte offset (see below) would be to point  to a start location within a large array of data in the PLC memory. In the following example the data byte offset is used to maintain word boundary location of the data within the PLC memory even though we require the service data to contain the attribute value.
Word # 	(Hex) 	Description
Service Data Header
1 	(0004) 	MAC ID: Address of the device to send the message to (0 - 63).
2 	(0081) 	Number of Service Data bytes: This needs to be determined from the vendor documentation of the DeviceNet server to which the message is being 			executed. For example Service Data 0x81 (129 bytes) = 1 byte attribute + 128 bytes (32 DINT) of data.
3 	(0010) 	DeviceNet service code: See the vendor documentation for the server device. For example, the Service is 0x10 (Set Attribute Single Service) to
		write data.
4 	(0004) 	Object Class: to which this is requested. See the documentation for the server device. For example, the object class is 0x04 (S2K Assembly Object).
5 	(0300) 	Instance: of the object class to which this request is directed. See documentation for the server. In this example Instance 768 decimal (0300h) points to 		VI001 in the S2K as the first of 32 DINT variables to write.
6 	(0001) 	Data Byte Offset: The number of bytes between this word and the beginning of the service data to be sent. If the offset is 0, the service data is located
		immediately after this data word (at word 7, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at
		word 8.
7 	(00) 	LSB: Skipped - Least significant byte skipped because of setting in word 6.
Service Data
	(03) 	Service Data Byte 0, Attribute - An attribute is used in service 0x10 and 0x0E messages. See documentation of targeted server device for meaning of
		specific attributes. Since word 6 skipped a byte this is the actual beginning of the service data. Locate data for messages without an attribute to start
		data here. May be at a different location depending on the value of word 6. 
8, 9 	DINT 	Service Data: May be located at a different offset based on word 6. Using the offset in word 6 allowed, in this example, the DINT data to be aligned on
		a word boundary.
10 to end - 	Service Data: For this example the end of the service data is located at word 71 [6 header words + 1 skipped byte + 1 attribute byte + 64 data words].
#END#

Data_Memory_Address
Data Memory Address: Offset within the specified memory type for the service data start address minus 1. (Word offset for memory types: %R, %AI, %AQ; byte offset for memory types: %I,%Q,%T,%M).
#END#

Data_Memory_Size_SDEE
Data Memory Size: Maximum size for the reply in units of the selected memory type (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I, %Q, %T, %M). Must be large enough to contain the entire explicit data block. The entire data block calculation is; the service data header 12 bytes (6 words) + skipped bytes specified in word 6 of the service data header + the service data. Note: It is important to know the type of the data used in the service to calculate the minimum length accurately. The attribute byte when used is always byte 0 of the service data and must be added to the data length. Round size up as needed. For example if we have 6 service data header words + 1 skipped byte + 1 attribute byte + 32 DINT data (64 words) service data, than we have 71 words as data memory size.
#END#

Reply_Memory_Type_RSE
Memory type for the stored data.
Receive Server Explicit, Reply Data Format:
When it receives a Receive Server Explicit COMMREQ, the DeviceNet module returns a reply containing either the next explicit request in its internal memory , or an indication that there is no explicit request in the queue to process. The reply contains information about the device that sent the explicit request, and a description of
the service requested. The application program must be set up to respond appropriately to the request.
Word # 	Description
1 	Command number that this data block is replying to. (2)
2	Status of Receive Server Explicit command. If any of the following bits are set, the corresponding condition is true. A value of zero indicates that a message was 	retrieved.
	bit 0 		1 = No explicit request available. All remaining reply data is set to zero by the module.
	bits 1 - 15 	Reserved.
3 	Connection ID: The connection ID associated with the request.
4 	Size: Number of service data bytes
5 	Service: DeviceNet service code being requested.
6 	Object Class: The object class to which this is directed.
7 	Instance: The specific instance of the object class to which this request is directed.
8 - end 	Service Data: Optional data as required by the service. The size of this data is indicated by word 4.
#END#

Reply_Memory_Size_RSE
Data Memory Address: Offset within the specified memory type for the service data start address minus 1. (Word offset for memory types: %R, %AI, %AQ; byte offset for memory types: %I,%Q,%T,%M).
#END#

Connection_Id
Connection ID: required for request / response matching. From the command 2 COMMREQ used to service this client reply.
#END#

No_Service_Data_Bytes
Size: Number of service data bytes
#END#

Service_Code
Service: DeviceNet service code.
#END#

Data_Byte_Offset
Service Data Offset: The number of bytes between this word and the beginning the service data to be sent. If the offset is 0, the service data is located immediately
after this data word (at word 12, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at word 13. THIS TOOL ASSUMES THIS OFFSET TO BE ZERO. IF USER WANTS TO HAVE AN OFFSET THEN IN THE OUTPUT OF THE TOOL THE SERVICE DATA MEMORY ADDRESSES HAS TO BE CORRECTED (SHIFTED) FOR THE OFFSET VALUE. (MEMORY SHIFT = Service_Data_Byte_Offset / 2)
#END#

Attribute
Service Data byte 0, Attribute: Attribute is used in service code 0x10 and 0x0E messages. The attribute is a one-byte field always at byte zero of the service data when used. The Attribute field is not used by other message services. This byte is the actual beginning of the service data since the data byte offset caused a one-byte skip. For the example attribute 7 is the VersaPoint, Analog Input Point Object, Range setting.
#END#

Service_Data_To_Send
ENTER THE FIRST SERVICE DATA AND CLICK ON "NEXT" FOR ENTERING MORE DATA
#END#

Data_Memory_Type_SSEE
Memory type for the data.
Send Server Explicit Extended, Data Format:
The following data format must be written to the PLC memory location specified in the command.
Word # 	Description
1 	Connection ID: The server connection ID is required for request / response matching. From the command 2 used to initiate service to this request.
2 	Service Data Size: Number of service data bytes
3 	Service Code: DeviceNet service code.
4 	Service data byte Offset: The number of bytes between this word and the beginning of the service data to be sent. If the offset is 0, the service data is located 	immediately after this data word (at word 7, see below). For example, if the offset were 2, then two bytes would be "skipped" and the data would begin at word 8.
5	Skipped (optional):
	Service Data byte 0, Attribute:
6 to end 	Service Data:
#END#

Data_Memory_Address_SSEE
Data Memory Address: Offset within the specified memory type for the service data start address minus 1. (Word offset for memory types: %R, %AI, %AQ; byte offset for memory types: %I,%Q,%T,%M).
#END#

Data_Memory_Size_SSEE
Data memory size: Size data block to send (in words for memory types: %R, %AI, %AQ; in bytes for memory types: %I,%Q,%T,%M). Must be large enough to specify the entire explicit data block defined below. In bytes, the size needed is Number of Service Data bytes + 8 + Service Data Byte offset. Unit conversions are required for non-byte units.
#END#
